<?php

/**
 * \file
 * Interface `Atom`.
 */

namespace pilar\Forms /* \cond */ ; /* \endcond */
{

/**
 * Interface d'un élément de formulaire.
 *
 * \since 01/12/2008
 * \author Matthieu OVIEDO <matthieu.oviedo@gmail.com>
 */
interface Atom {

/**
 * Appelée lors d'un changement de formulaire parent.
 *
 * Doit éventuellement propager l'information si cela est nécessaire.
 *
 * \param $f Nouveau formulaire parent.
 *
 * \since 01/12/2008
 */
public function onParentFormChanged(Form $f);


/**
 * Évalue les sous-membres.
 *
 * \return Membres trouvés.
 *
 * \since 01/12/2008
 */
public function subMembers();


/**
 * Version DOM de l'élément formulaire.
 *
 * \param $domDoc \DOMDocument parent.
 * \return DOMNode de l'élément.
 *
 * \since 01/12/2008
 */
public function domNode($domDoc);


} // Class.

} // Namespace.

?>
